22 research outputs found

    Identifying Unmaintained Projects in GitHub

    Full text link
    Background: Open source software has an increasing importance in modern software development. However, there is also a growing concern on the sustainability of such projects, which are usually managed by a small number of developers, frequently working as volunteers. Aims: In this paper, we propose an approach to identify GitHub projects that are not actively maintained. Our goal is to alert users about the risks of using these projects and possibly motivate other developers to assume the maintenance of the projects. Method: We train machine learning models to identify unmaintained or sparsely maintained projects, based on a set of features about project activity (commits, forks, issues, etc). We empirically validate the model with the best performance with the principal developers of 129 GitHub projects. Results: The proposed machine learning approach has a precision of 80%, based on the feedback of real open source developers; and a recall of 96%. We also show that our approach can be used to assess the risks of projects becoming unmaintained. Conclusions: The model proposed in this paper can be used by open source users and developers to identify GitHub projects that are not actively maintained anymore.Comment: Accepted at 12th International Symposium on Empirical Software Engineering and Measurement (ESEM), 10 pages, 201

    Why We Engage in FLOSS: Answers from Core Developers

    Full text link
    The maintenance and evolution of Free/Libre Open Source Software (FLOSS) projects demand the constant attraction of core developers. In this paper, we report the results of a survey with 52 developers, who recently became core contributors of popular GitHub projects. We reveal their motivations to assume a key role in FLOSS projects (e.g., improving the projects because they are also using it), the project characteristics that most helped in their engagement process (e.g., a friendly community), and the barriers faced by the surveyed core developers (e.g., lack of time of the project leaders). We also compare our results with related studies about others kinds of open source contributors (casual, one-time, and newcomers).Comment: Accepted at CHASE 2018: 11th International Workshop on Cooperative and Human Aspects of Software Engineering (8 pages

    Otimizando recursos no processo de inspeção de software: uma abordagem utilizando simulação com dinâmica de sistemas

    Get PDF
    Reparar um defeito de software pode custar até 100 vezes mais caro, caso ele não seja encontrado o mais próximo possível de onde foi cometido. A inspeção de software é uma técnica que pode ser usada para ajudar a detectar defeitos nas fases iniciais do processo de desenvolvimento, evitando que esses defeitos sejam propagados para as fases seguintes. O custo/benefício de inspeções pode se tornar bastante significativo, caso as inspeções sejam realizadas de forma eficiente. Por ser influenciada por muitos fatores de qualidade, a análise do contexto da inspeção como um todo pode se tornar complexa. Gerentes de projeto deixam de utilizar a inspeção por falta de dados e estudos sobre os reais benefícios que ela pode gerar. Este artigo apresenta um modelo de dinâmica de sistemas, para apoiar decisões sobre esse ponto de vista. As variáveis que fazem parte do modelo são quantificadas com base em experimentos reais ou empíricos disponibilizados na literatura, tornando os resultados do modelo próximos do que seria obtido no mundo real. O modelo permite reproduzir cenários nos quais seria caro ou perigoso experimentar no mundo real, sendo possível antever os impactos que a inspeção pode trazer no processo de desenvolvimento.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    Otimizando recursos no processo de inspeção de software: uma abordagem utilizando simulação com dinâmica de sistemas

    Get PDF
    Reparar um defeito de software pode custar até 100 vezes mais caro, caso ele não seja encontrado o mais próximo possível de onde foi cometido. A inspeção de software é uma técnica que pode ser usada para ajudar a detectar defeitos nas fases iniciais do processo de desenvolvimento, evitando que esses defeitos sejam propagados para as fases seguintes. O custo/benefício de inspeções pode se tornar bastante significativo, caso as inspeções sejam realizadas de forma eficiente. Por ser influenciada por muitos fatores de qualidade, a análise do contexto da inspeção como um todo pode se tornar complexa. Gerentes de projeto deixam de utilizar a inspeção por falta de dados e estudos sobre os reais benefícios que ela pode gerar. Este artigo apresenta um modelo de dinâmica de sistemas, para apoiar decisões sobre esse ponto de vista. As variáveis que fazem parte do modelo são quantificadas com base em experimentos reais ou empíricos disponibilizados na literatura, tornando os resultados do modelo próximos do que seria obtido no mundo real. O modelo permite reproduzir cenários nos quais seria caro ou perigoso experimentar no mundo real, sendo possível antever os impactos que a inspeção pode trazer no processo de desenvolvimento.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    Beyond Textual Issues: Understanding the Usage and Impact of GitHub Reactions

    Full text link
    Recently, GitHub introduced a new social feature, named reactions, which are "pictorial characters" similar to emoji symbols widely used nowadays in text-based communications. Particularly, GitHub users can use a pre-defined set of such symbols to react to issues and pull requests. However, little is known about the real usage and impact of GitHub reactions. In this paper, we analyze the reactions provided by developers to more than 2.5 million issues and 9.7 million issue comments, in order to answer an extensive list of nine research questions about the usage and adoption of reactions. We show that reactions are being increasingly used by open source developers. Moreover, we also found that issues with reactions usually take more time to be handled and have longer discussions.Comment: 10 page

    System dynamics model for decision support on the software inspection process

    No full text
    Reparar um defeito de software pode custar até 100 vezes mais caro, caso ele não seja encontrado o mais próximo possível de onde foi cometido. A inspeção de software é uma técnica que pode ser usada para ajudar a detectar defeitos nas primeiras fases do processo, evitando que esses defeitos sejam propagados para as fases seguintes. O custo/benefício de inspeções pode se tornar bastante significativo, se as inspeções forem realizadas de forma eficiente. Por ser influenciada por muitos fatores de qualidade, a análise do contexto da inspeção como um todo pode se tornar complexa. Gerentes de projeto deixam de utilizar a inspeção com dúvida dos reais benefícios que ela pode gerar. O objetivo desse trabalho é criar um modelo de dinâmica de sistemas, que é uma técnica descritiva utilizada para modelagem e simulação de sistemas, envolvendo variáveis que influenciam fortemente na eficiência da inspeção. Os níveis de influência das variáveis que fazem parte do modelo são quantificados com base em experimentos reais ou empíricos disponibilizados na literatura, tornando os resultados do modelo próximos do que seria obtido no mundo real. O modelo permite reproduzir cenários nos quais seria caro ou perigoso experimentar na realidade, sendo possível analisar os impactos que a inspeção pode trazer no processo de desenvolvimento.Repairing a defect in late phases of software development can be a hundred times more expensive than finding and fixing it during the requirements and design phase. Software inspection is a technique that may be used to aid in the identification of defects during early stages of the process and avoid propagation of such defects to the next phases. The cost-benefit of inspections may be significant if they are efficiently performed. Since this process is affected by several quality factors, the analysis of the overall context of inspection may become complex. Project managers are reluctant in introducing inspection due to uncertainty regarding its real benefits. This paper presents a system dynamics model, which is a descriptive technique for systems modeling and simulation and involves several variables that strongly influence inspection efficiency. The influence levels of model variables are quantified with basis on real or empirical experiments reported in literature, in order to approximate model results to values that would be obtained in the real world. The model allows the reproduction of scenarios without having the costs and facing the risk of a real project implementation. Therefore, it enables the analysis of the impacts of inspections on the software development process.Coordenação de Aperfeiçoamento de Pessoal de Nível Superio

    Identifying and characterizing unmaintained projects in GitHub

    No full text
    Submitted by Jailton Coelho ([email protected]) on 2019-10-09T13:29:43Z No. of bitstreams: 1 Thesis-JailtonCoelho.pdf: 2689428 bytes, checksum: a34a6ea35bc593271a5f34f188caf84b (MD5)Approved for entry into archive by Eliane Araujo ([email protected]) on 2019-10-10T18:15:03Z (GMT) No. of bitstreams: 1 Thesis-JailtonCoelho.pdf: 2689428 bytes, checksum: a34a6ea35bc593271a5f34f188caf84b (MD5)Made available in DSpace on 2019-11-22T18:18:10Z (GMT). No. of bitstreams: 1 Thesis-JailtonCoelho.pdf: 2689428 bytes, checksum: a34a6ea35bc593271a5f34f188caf84b (MD5) Previous issue date: 2019-08-30CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível SuperiorOpen source projects are key components of modern software development. Due to the appearance of novel platforms (e.g., GitHub and GitLab) for developing public code, developers has created thousands of open source projects. As a consequence, a significant number of open source projects is also unmaintained. To tackle this problem, in this thesis, we reported a set of quantitative and qualitative studies to help developers to maintain their open source projects. First, we surveyed the owners of open source projects that are no longer actively maintained, aiming to reveal the reasons for stop the maintenance of their projects. As result, we provide a set of nine reasons that motivated them to abandon their projects. Second, we conducted a survey with developers who recently became core contributors of popular GitHub projects. We reveal their motivations to contribute to these projects, the projects characteristics that mostly helped to contribute, and the barriers faced by them. Our key results show that the surveyed developers contributed to the projects because they are using them and need some improvements. The participants also answered that the lack of time of the project leaders was the principal barrier faced by them. Finally, the project characteristic which mostly helped them to contribute was the existence of a friendly community. Finally, in our third study, we propose a quantitative and datadriven model to identify GitHub projects that are not actively maintained. We train the model using a set of 13 features about project activity (e.g., commits, forks, and issues). The model achieved a precision of 80%, based on the feedback of 129 real open source developers and a recall of 96%. We also showed that the model can be used to identify unmaintained projects early, without having to wait for one year of inactivity, as commonly proposed in the literature. Finally, we defined a metric, called Level of Maintenance Activity (LMA), to assess the risks of projects become unmaintained. We provided evidence on the applicability of this metric, by investigating its usage in 2,927 active projects
    corecore